草庐IT

Java Tomcat 启用缓存

全部标签

java - 无法写入核心转储。默认情况下,Windows 客户端版本不启用小型转储

我正在研究EclipseRCP我得到了这个错误Java运行时环境检测到fatalerror:EXCEPTION_ACCESS_VIOLATION(0xc0000005)在pc=0x000007fef54b88ee,pid=3192,tid=5324JRE版本:7.0_02-b13JavaVM:JavaHotSpot(TM)64位服务器VM(22.0-b10混合模式windows-amd64压缩oops)有问题的框架:C[jscript9.dll+0x888ee]无法写入核心转储。Windows客户端版本默认不启用小型转储包含更多信息的错误报告文件保存为:F:\EclipseRCP\hs

java - 事务回滚问题中的 infinispan 缓存对象更新

我们希望在订单管理系统中使用infinispan作为内存数据库。在那里我们需要做以下类型的操作。这里的现金账户缓存包含从数据库加载的客户缓存账户。假设现金账户1的初始余额为1000,现金账户2为2000。我们在jboss7.1应用程序服务器的事务中更新两个现金账户。我们期望的结果是两个现金账户的余额保持不变,因为此操作发生在交易中。但不幸的是,即使在事务回滚之后,我们也可以在缓存中看到更新对象。实用我们检查的是当我们将一个对象添加到事务中的缓存时,当事务回滚时它将从缓存中删除。但对现有对象的修改保持原样。这只是我们想要做的一个例子。实际的涉及在单个事务中更新多个对象。能否请您告诉我们可

java - Java 中的 LRU 缓存实现

我看过下面的代码,我认为addElement方法的实现中有一个无用的while循环。它不应该碰巧有比size+1更多的元素,因为已经有一个写锁。那么为什么addElement方法要删除元素直到它得到这个条件是的while(concurrentLinkedQueue.size()>=maxSize)任何关于此的指示都会很棒。这里是实现:publicclassLRUCache{privateConcurrentLinkedQueueconcurrentLinkedQueue=newConcurrentLinkedQueue();privateConcurrentHashMapconcurr

java - 缓存不一致 - 实体并不总是保留在缓存的集合中

我在将Validation实例添加到Step实例的集合中时遇到问题。声明如下:步骤类:@Entity@Table@Cacheable@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)publicclassStepextendsAbstractEntityimplementsValidatableStep{@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,orphanRemoval=true)@JoinColumn(name="step_id",nullable=false)@C

java - Hibernate 二级缓存和数据库模式中的 ON DELETE CASCADE

我们的Java应用程序有大约100个映射到数据库(SQLServer或MySQL)的类。我们使用Hibernate作为我们的ORM(带有XML映射文件)。我们在数据库模式中指定了FOREIGNKEY约束。我们的大多数FOREIGNKEY约束还指定了ONDELETECASCADE。我们最近开始启用Hibernate二级缓存(针对流行的实体和集合)以缓解一些性能问题。自从我们启用二级缓存后,性能得到了提升。但是,我们也开始遇到ObjectNotFoundExceptions。似乎ObjectNotFoundExceptions正在发生,因为数据库正在删除Hibernate下面的表行。例如,

java - 需要澄清 hibernate 二级缓存

我需要对Hibernate二级缓存进行一些说明。hibernate二级缓存是如何工作的?它是否从在JavaEE环境中启动的服务器上的实体类中具有@Cacheable注释(相对于hibernate注释)的表中加载所有数据?当这些表有更新时,缓存是否会同步?如何同步?最后一个问题是,当我感兴趣的某个表发生更新时,有什么方法可以让我的DAO代码得到通知吗?(寻找任何可以通知表格更新的监听器)。 最佳答案 hibernate二级缓存是如何工作的?当你的实体被标记为可缓存时,如果你配置了二级缓存,那么hibernate会在第一次读取后将实体缓

java - Jetty 有请求缓存吗?

我有一些测试运行几个jettyservlet并从其他线程向它们发送请求。我经常看到,一旦servlet启动,它们甚至在其他线程启动之前就收到有效请求,就好像请求被缓存在某个地方并在jetty启动时重新读取一样。可能吗?如果是这样,如何禁用它? 最佳答案 Jetty没有请求缓存。 关于java-Jetty有请求缓存吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14014788

java - 当一个 Hibernate 实例无法到达二级缓存时会发生什么?

假设我有两个服务,每个服务都使用相同的二级缓存运行相同的Hibernate应用程序。现在假设其中一个服务无法连接到二级缓存(有人设置了阻止访问缓存集群的防火墙规则)。该服务器之后如何工作?服务器之间如何保持数据一致性? 最佳答案 需要进行实验。但我敢打赌,您得到的是遭受通信失败的Hibernate操作的直接异常,这与数据库不可用时发生的情况没有太大区别。 关于java-当一个Hibernate实例无法到达二级缓存时会发生什么?,我们在StackOverflow上找到一个类似的问题:

java - 一个套接字,多个http请求,不同的主机头但服务器返回缓存的主机头

我正在使用供应商产品的自定义servlet引擎。我们的服务器前面有不同的代理,具有不同的主机名。假设主机名为host1.localhost.com和host2.localhost.com。我们有以下servletpublicclassMyServlet{publicvoiddoGet(...){response.getOutputStream.write(request.getServerName().getBytes())}}我们遇到了一个问题,有时如果我们发出请求host1.localhost.com/my/servlet我们实际上看到了host2.localhost.com/my

java - 启用 GWT SuperDev 模式,启用源映射,已编译,但没有出现源映射

正如标题所说,我正在尝试在Chrome中使用最新版本的GWT(2.6.1)运行SuperDev模式。我的应用程序由Tomcat服务器提供服务。我有运行SuperDev模式的服务器(通过IntelliJ),它成功地编译和链接了源,并且在Chrome中启用了源映射。我转到应用程序(http://localhost:8081/example/#example)。加载时,我使用DevModeOn书签进行编译。编译完成后,我在Chrome开发者工具中看不到任何Java源代码。我还在我的应用程序中设置了以下属性.gwt.xml我不确定我还缺少什么?从我在网上找到的各种资源来看,我似乎已经涵盖了所有